package com.jinmdz.fmis.mapper.entity;

import com.jinmdz.fmis.mapper.annotation.MyColumn;
import com.jinmdz.fmis.mapper.annotation.MyTable;
import com.jinmdz.fmis.mapper.base.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 费用结算表Entity
 *
 * @author generator
 * @date 2020-05-12 14:24
 */
@MyTable(value = "ChargeSettleEntity", name = "charge_settle", comment = "费用结算表")
public class ChargeSettleEntity extends BaseEntity {
    /**
     * 业务编码
     */
    @MyColumn(value = "businessCode", name = "business_code", comment = "业务编码", required = true)
    private String businessCode;

    /**
     * 结算批次编号
     */
    @MyColumn(value = "settleBatchNo", name = "settle_batch_no", comment = "结算批次编号", required = true)
    private String settleBatchNo;

    /**
     * 应收金额
     */
    @MyColumn(value = "receiptCharge", name = "receipt_charge", comment = "应收金额", required = true)
    private BigDecimal receiptCharge;

    /**
     * 优惠金额
     */
    @MyColumn(value = "discountCharge", name = "discount_charge", comment = "优惠金额", required = true)
    private BigDecimal discountCharge;

    /**
     * 惠民金额
     */
    @MyColumn(value = "benefitCharge", name = "benefit_charge", comment = "惠民金额", required = true)
    private BigDecimal benefitCharge;

    /**
     * 结算金额
     */
    @MyColumn(value = "settleCharge", name = "settle_charge", comment = "结算金额", required = true)
    private BigDecimal settleCharge;

    /**
     * 结算时间
     */
    @MyColumn(value = "settleTime", name = "settle_time", comment = "结算时间", required = true)
    private Date settleTime;

    /**
     * 结算类型
     */
    @MyColumn(value = "settleTypeCode", name = "settle_type_code", comment = "结算类型", required = true)
    private Integer settleTypeCode;

    /**
     * 收据号
     */
    @MyColumn(value = "receiptNo", name = "receipt_no", comment = "收据号")
    private String receiptNo;

    /**
     * 是否退费
     */
    @MyColumn(value = "asRefund", name = "as_refund", comment = "是否退费", required = true)
    private Integer asRefund;

    /**
     * 是否审核
     */
    @MyColumn(value = "asVerify", name = "as_verify", comment = "是否审核", required = true)
    private Integer asVerify;

    /**
     * 日结审核主键
     */
    @MyColumn(value = "verifyId", name = "verify_id", comment = "日结审核主键")
    private Integer verifyId;

    /**
     * 是否打印发票
     */
    @MyColumn(value = "asInvoice", name = "as_invoice", comment = "是否打印发票", required = true)
    private Integer asInvoice;

    /**
     * 打印发票主键
     */
    @MyColumn(value = "invoiceId", name = "invoice_id", comment = "打印发票主键")
    private Integer invoiceId;

    /**
     * 结算经办人外键
     */
    @MyColumn(value = "settleUserId", name = "settle_user_id", comment = "结算经办人外键", required = true)
    private Integer settleUserId;

    /**
     * 随机码
     */
    @MyColumn(value = "randomCode", name = "random_code", comment = "随机码")
    private String randomCode;

    /**
     * 备注信息
     */
    @MyColumn(value = "remark", name = "remark", comment = "备注信息")
    private String remark;


    public String getBusinessCode() {
        return businessCode;
    }

    public ChargeSettleEntity setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getSettleBatchNo() {
        return settleBatchNo;
    }

    public ChargeSettleEntity setSettleBatchNo(String settleBatchNo) {
        this.settleBatchNo = settleBatchNo;
        return this;
    }

    public BigDecimal getReceiptCharge() {
        return receiptCharge;
    }

    public ChargeSettleEntity setReceiptCharge(BigDecimal receiptCharge) {
        this.receiptCharge = receiptCharge;
        return this;
    }

    public BigDecimal getDiscountCharge() {
        return discountCharge;
    }

    public ChargeSettleEntity setDiscountCharge(BigDecimal discountCharge) {
        this.discountCharge = discountCharge;
        return this;
    }

    public BigDecimal getBenefitCharge() {
        return benefitCharge;
    }

    public ChargeSettleEntity setBenefitCharge(BigDecimal benefitCharge) {
        this.benefitCharge = benefitCharge;
        return this;
    }

    public BigDecimal getSettleCharge() {
        return settleCharge;
    }

    public ChargeSettleEntity setSettleCharge(BigDecimal settleCharge) {
        this.settleCharge = settleCharge;
        return this;
    }

    public Date getSettleTime() {
        return settleTime;
    }

    public ChargeSettleEntity setSettleTime(Date settleTime) {
        this.settleTime = settleTime;
        return this;
    }

    public Integer getSettleTypeCode() {
        return settleTypeCode;
    }

    public ChargeSettleEntity setSettleTypeCode(Integer settleTypeCode) {
        this.settleTypeCode = settleTypeCode;
        return this;
    }

    public String getReceiptNo() {
        return receiptNo;
    }

    public ChargeSettleEntity setReceiptNo(String receiptNo) {
        this.receiptNo = receiptNo;
        return this;
    }

    public Integer getAsRefund() {
        return asRefund;
    }

    public ChargeSettleEntity setAsRefund(Integer asRefund) {
        this.asRefund = asRefund;
        return this;
    }

    public Integer getAsVerify() {
        return asVerify;
    }

    public ChargeSettleEntity setAsVerify(Integer asVerify) {
        this.asVerify = asVerify;
        return this;
    }

    public Integer getVerifyId() {
        return verifyId;
    }

    public ChargeSettleEntity setVerifyId(Integer verifyId) {
        this.verifyId = verifyId;
        return this;
    }

    public Integer getAsInvoice() {
        return asInvoice;
    }

    public ChargeSettleEntity setAsInvoice(Integer asInvoice) {
        this.asInvoice = asInvoice;
        return this;
    }

    public Integer getInvoiceId() {
        return invoiceId;
    }

    public ChargeSettleEntity setInvoiceId(Integer invoiceId) {
        this.invoiceId = invoiceId;
        return this;
    }

    public Integer getSettleUserId() {
        return settleUserId;
    }

    public ChargeSettleEntity setSettleUserId(Integer settleUserId) {
        this.settleUserId = settleUserId;
        return this;
    }

    public String getRandomCode() {
        return randomCode;
    }

    public ChargeSettleEntity setRandomCode(String randomCode) {
        this.randomCode = randomCode;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public ChargeSettleEntity setRemark(String remark) {
        this.remark = remark;
        return this;
    }
}